home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / CRS / crs04.d81 / disklabl.arc / DISK LAB.MSORT (.txt) < prev    next >
Commodore BASIC  |  2009-10-10  |  4KB  |  76 lines

  1. 0 CLR:X$="XX":FORI=.TO3:X$=X$+X$:NEXT:X$=X$+"XXXXXXX":GOTO7
  2. 2 >DISKLAB.MSORTV1.1<:>BYFREDLAYBERGER<:>OMAHA,NE-OCT1985<
  3. 5 POKE808,225:A1=PEEK(55):A2=PEEK(56):POKE55,PEEK(51):POKE56,PEEK(52):RETURN
  4. 6 Z=FRE(.):POKE55,A1:POKE56,A2:POKE808,237:RETURN
  5. 7 RESTORE:POKE53280,13:POKE53281,15:P$="[147]WORKING...[151]":PRINTP$:SD=9:DD=8:SR=0:DR=0:SA=6:IFPEEK(1015)<>.THENSD=PEEK(1015):DD=PEEK(1016):SR=PEEK(1017):DR=PEEK(1018):SA=PEEK(1019)
  6. 10 DL=830:IFPEEK(DL)=160THEN13
  7. 11 OPEN1,DD,.,MID$(STR$(DR),2,1)+":DISK LAB.DIR,S,R":FORI=DLTODL+148:INPUT#1,A:POKEI,A:NEXT:CLOSE1
  8. 13 CLOSE15:OPEN15,DD,15:GOSUB130:DIMV$(152):IFPEEK(49152)<>32THENLOAD"DISK LAB.SORT",DD,1:GOSUB130
  9. 15 OPEN1,DD,.,MID$(STR$(DR),2,1)+":\\MASTER*,S,R":GOSUB130:INPUT#1,N:INPUT#1,DT$:INPUT#1,ID$:INPUT#1,BK$:INPUT#1,P:NF=VAL(BK$):ND=N:D$=ID$:ID$="\\":V$(.)=DT$+ID$+RIGHT$("    "+BK$,4):DIMT$(NF+1):POKE850,76:POKE851,88:POKE852,3:POKE952,21
  10. 20 GOSUB5:FORI=1TON:SYSDL:V$(I)=LEFT$(X$,16):PRINT""V$(I):NEXT:GOSUB6:CLOSE1:NF=1:IFP=2THENU=1:I=N+1:V$(I)=" \MSORTED*      ":GOTO25
  11. 23 GOTO40
  12. 24 FORI=1TOND:PRINTP$TAB(20)"DIRECTORY"I"[157] OF"ND
  13. 25 PRINT""V$(I)"[151]"TAB(20)"PROGRAM MAY PAUSE[151]":CLOSE1:OPEN1,DD,DD,MID$(STR$(DR),2,1)+":"+V$(I)+",S,R":GOSUB130:IFP>1THENI=25
  14. 27 INPUT#1,N:INPUT#1,DT$:INPUT#1,ID$:INPUT#1,BK$:INPUT#1,P:GOSUB5:IFLEFT$(DT$,7)="\MASTER"THENID$="\\"
  15. 29 FORJ=1TON:SYSDL:IFP>1THENT$(NF)=LEFT$(X$,19):GOTO31
  16. 30 T$(NF)=LEFT$(X$,16)+RIGHT$("   "+STR$(I),3)
  17. 31 PRINT""LEFT$(T$(NF),16)TAB(20)"ITEM"NF"[157] OF "RIGHT$(V$(.),4):IFP>1THENIFJ=ITHENGOSUB6:GOSUB5:I=I+25
  18. 33 NF=NF+1:IFNF>1200ORNF>VAL(RIGHT$(V$(.),4))+1THENJ=N:I=ND:B$="GREATER THEN ":GOSUB125
  19. 34 NEXT:GOSUB6:IFP>1THENCLOSE1:N=NF-1:GOTO39
  20. 35 NEXT:CLOSE1:N=NF-1:PRINTP$:Z=FRE(.):IFNF<VAL(RIGHT$(V$(.),4))THENB$="LESS THEN ":GOSUB125
  21. 37 PRINT"[147]  SORTING..."N"PROGRAMS":SYS49152,N,T$(1):P=2:POKE1015,SD:POKE1016,DD:POKE1017,SR:POKE1018,DR:POKE1019,SA
  22. 39 DT$=LEFT$(V$(.),16):ID$=MID$(V$(.),17,2):BK$=MID$(V$(.),19)
  23. 40 ::PRINT"[147]DONE -CHOOSE ONE":PRINT""NF-1"RECORDS ALPHABETIZED[151]":IFP<2THENPRINT" 1[146] ALPHABETIZE MASTER":IFNF=1THEN47
  24. 44 PRINT" 2[146] PRINT TO SCREEN":PRINT" 3[146] PRINT TO PRINTER":IFU<>1THENPRINT" 4[146] SAVE SORTED FILE"
  25. 47 PRINT" 5[146] RETURN TO DISK LABELER+":PRINT" 6[146] QUIT"
  26. 49 GETA$:IFP<2THENIFA$="1"THEN24
  27. 50 IFNF=1THENIFP<2THEN54
  28. 51 IFA$="2"THENGOSUB118:GOTO40
  29. 52 IFA$="3"THENGOSUB74:GOTO40
  30. 53 IFU<>1THENIFA$="4"THENGOSUB61:GOTO40
  31. 54 IFA$="5"THEN58
  32. 55 IFA$<>"6"THEN49
  33. 56 END
  34. 58 POKE1020,1:PRINT"[147]LOAD "CHR$(34)"DISK LABELER+*"CHR$(34)CHR$(44)DD:PRINT"RUN":POKE198,8:FORI=1TO7:POKE630+I,13:NEXT:PRINT"[151]":NEW
  35. 61 PRINTP$:PRINT#15,"S"+MID$(STR$(DR),2,1)+":?\M*":F$=" \MSORTED       ":ID$=D$
  36. 63 OPEN1,DD,DD,MID$(STR$(DR),2,1)+":"+F$+",S,W":PRINT""F$"[151]":PRINT#1,N:PRINT#1,DT$:PRINT#1,ID$:PRINT#1,BK$:PRINT#1,P:GOSUB5:FORI=1TON:IFU=1THENT$=V$(I)+"    ":GOTO68
  37. 67 T$=LEFT$(T$(I),16)+LEFT$(RIGHT$(T$(I),3)+"    ",4)
  38. 68 PRINT#1,T$:PRINT""LEFT$(T$,16);:PRINT" ITEM"I"[157] OF"N:NEXT:GOSUB6:CLOSE1:GOSUB130:IFU=1THENN=NF-1:ID$="\\":RETURN
  39. 71 F$="\\MASTER        ":N=ND:U=1:PRINTP$:GOTO63
  40. 74 PRINT"[147]  PREPARE PRINTER AND ALIGN PAPER [151]":GOSUB127:IFA$="^"THENRETURN
  41. 75 PRINT"  *** WORKING[151] *** DO NOT DISTRUB[146][151] ***":E$=CHR$(27):S=4:CLOSES:OPENS,S,SA:DEFFNR(X)=INT((IP/CL-INT(IP/CL))*CL+.5):C1$=CHR$(15):C2$=CHR$(18):Z=.:IP=N:H1$=E$+"G"+E$+"E":H2$=E$+"H"+E$+"F"
  42. 79 A=2:E=17:B=8:C=1:D=1:CL=3:PL=56:T1$=C1$+E$+"G":T2$=C2$+E$+"H":PG=PL:P1$="":P9$="-----------------------------------":PRINT#S,E$"U"CHR$(48);:FORI=1TOCL-1:PRINT#S,P1$SPC(B/A);:NEXT:PRINT#S,P1$:PRINT#S,H1$;:FORI=1TOC:PRINT#S:NEXT
  43. 84 PRINT#S:PRINT#S,SPC(E)CHR$(14)DT$ID$CHR$(20):PRINT#S,SPC(E)NF-1" BLOCKS FREE - "D$;:PRINT#S,H2$;
  44. 86 X=INT(IP/CL):IFN>PG*CLTHENX=PL:IP=PG*CL
  45. 87 C3=2*X:C4=3*X:C5=4*X:R=FNR(X):IFR>.THENIFR<=CLTHENX=X+1
  46. 88 C3=2*X:C4=3*X:C5=4*X:ONRGOTO91,92
  47. 90 GOTO93
  48. 91 C3=X:C4=2*X-1:GOTO93
  49. 92 C4=3*X-1:GOTO93
  50. 93 PRINT#S,T1$:FORI=1TOD:PRINT#S:NEXT:FORI=1TOCL-1:PRINT#S,P9$SPC(B);:NEXT:PRINT#S,P9$:IFZ>.THENC3=C3+Z:C4=C4+Z:C5=C5+Z:IFN<=PG*CLTHENIP=IP+Z
  51. 96 F=16:FORI=1TOX:GETA$:IFA$="^"THENI=X:GOTO117
  52. 97 PRINT#S,LEFT$(T$(I+Z),F)SPC(B-5);:K=VAL(RIGHT$(T$(I+Z),3)):PRINT#S,LEFT$(V$(K),16)SPC(B);:IFC3=>I+X+ZTHENPRINT#S,LEFT$(T$(I+X+Z),F)SPC(B-5);
  53. 100 IFC3=>I+X+ZTHENK=VAL(RIGHT$(T$(I+X+Z),3)):PRINT#S,LEFT$(V$(K),16)SPC(B);
  54. 101 IFI+C3>IPTHENPRINT#S:GOTO111
  55. 102 IFC4=>I+C3THENPRINT#S,LEFT$(T$(I+C3),F)SPC(B-5);
  56. 103 IFC4=>I+C3THENK=VAL(RIGHT$(T$(I+C3),3)):PRINT#S,LEFT$(V$(K),16)SPC(B);
  57. 104 IFI+C4>IPTHENPRINT#S:GOTO111
  58. 105 IFC5=>I+C4THENPRINT#S,LEFT$(T$(I+C4),F)SPC(B-5);
  59. 106 IFC5=>I+C4THENK=VAL(RIGHT$(T$(I+C4),3)):PRINT#S,LEFT$(V$(K),16)SPC(B);
  60. 107 IFI+C5>IPTHENPRINT#S:GOTO111
  61. 108 IFC5+X=>I+C5THENPRINT#S,LEFT$(T$(I+C5),F);
  62. 109 IFC5+X=>I+C5THENK=VAL(RIGHT$(T$(I+C5),3)):PRINT#S,LEFT$(V$(K),16)SPC(B);
  63. 110 PRINT#S
  64. 111 NEXT:IFX<PLTHENFORI=1TOINT(PL-X):PRINT#S:NEXT:IFXAND1THENPRINT#S
  65. 112 FORI=1TOCL:PRINT#S,P9$;SPC(B);:NEXT:PRINT#S:PRINT#S:IFN<=PG*CLTHEN117
  66. 114 PRINT#S,T2$:PRINT#S,H1$:FORI=1TOC:PRINT#S:NEXT:PRINT#S,CHR$(14)DT$ID$CHR$(20)" CONTINUED...":PRINT#S,"PAGE#"(PG/PL)+1" - "D$H2$:Z=PG*CL:IP=N-(PG*CL):PG=PG+PL:GOTO86
  67. 117 PRINT#S,T2$;:CLOSES:RETURN
  68. 118 ::PRINT"[147]  FILENAME"TAB(23)"DISKNAME[151]":FORI=1TON:PRINTTAB(2)LEFT$(T$(I),16)TAB(23);:K=VAL(RIGHT$(T$(I),3)):PRINTLEFT$(V$(K),16):IFPEEK(214)=23THENGOSUB127:PRINT"[147]":IFA$="^"THENI=N:NEXT:RETURN
  69. 124 NEXT:GOTO127
  70. 125 PRINT"[147]# OF AVAILABLE RECORDS IS":PRINT""B$"MASTER COUNT OF"RIGHT$(V$(.),4)""
  71. 127 PRINT" PRESS A KEY TO CONTINUE - '^'TO RETURN[146][151]"
  72. 128 GETA$:IFA$=""THEN128
  73. 129 RETURN
  74. 130 INPUT#15,ER,ER$,T,S:IFERTHENPRINT" "ER;ER$;T;S:GOSUB127:END
  75. 132 RETURN
  76.